package iit.projects.etaxi.model.service;

import iit.projects.etaxi.model.dto.SubCitySCDO;
import iit.projects.etaxi.model.entity.SubCity;
import iit.projects.etaxi.model.exception.CityNotFoundException;
import iit.projects.etaxi.model.exception.DuplicateSubCityException;

import java.util.Map;
import java.util.Set;

public interface SubCityService {

	public SubCity saveSubCity(String cityCode, SubCity subCity) throws DuplicateSubCityException, CityNotFoundException;
	
	public Set<SubCity> findSubCities(SubCitySCDO subCitySCDO);
	
	public SubCity updateSubCity(String cityCode, SubCity subCity) throws CityNotFoundException;
	
	public void deleteSubCity(SubCity subCity) throws CityNotFoundException;
	
	public Set<SubCity> setProximity(SubCity selectedSubCity, SubCity closeSubCity);
	
	public Map<String, SubCity> removeProximity(SubCity selectedSubCity, SubCity removingSubCity);
}
